約 4,119,522 件
https://w.atwiki.jp/arduino/pages/46.html
TODO ↓をライブラリにする。 赤外線リモコン制御モジュール http //elm-chan.org/fsw/irctrl/00index.html
https://w.atwiki.jp/arduino/pages/27.html
明るさセンサー CdSセルは 明るい 抵抗が小さい 暗い 抵抗が大きい となる。 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 スケッチ int potPin = 5; int ledPin = 13; long count = 0; int on = LOW; void setup() { pinMode(ledPin, OUTPUT); Serial.begin(19200); } void loop() { int val = analogRead(potPin); if(count 0){ on = on==HIGH ? LOW HIGH; digitalWrite(ledPin, on); Serial.print(millis()); Serial.print(" "); Serial.println(val); count = val*10; } count--; }
https://w.atwiki.jp/shimizunochikara/pages/8.html
Arduino Tankの制作のモチベーション ArduinoとXBeeを組み合わせて面白いものをつくりたい マイコンとPCを組み合わせて何かをしたい 電子工作を知らない人が見ても面白いと思えるものを作りたい ソフトウェアの勉強がしたい Arduino Tankの方向性 一般の人が見て面白いと思えるものにする センサーから得られるデータを可視化する
https://w.atwiki.jp/arduino/pages/30.html
においセンサー TGS2450 http //akizukidenshi.com/catalog/g/gP-00989/ ヒーターの制御 ヒーターに1.6V/138mAでON 8ms/OFF 242msでパルス入力する。 1.6V/8.5Ω = 188mA 1.6V/10.5Ω = 152mA 138mAってどこからきたんだ?? 5V/25Ω=200mA 5V/30Ω=166mA 5V/35Ω=142mA * 5V/40Ω=125mA 25Ω(100Ω*4本)+10Ω(ヒーター)でいいかな。 1/(1/100+1/100+1/100+1/100)=25 センサーから値を取得する センサーににON 5ms/OFF 245msでパルス入力して抵抗値を計る。 臭いと抵抗値が下がる。 タイミングがある。 http //www8.plala.or.jp/InHisTime/page020.html http //mcalc.zapto.org/otherDoc/nioi/index.html 250msサイクル 0ms ヒーターON 8ms ヒータOFF 245ms センサ電圧ON 247ms センサ電圧計測 249ms センサ電圧OFF 回路図 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 25Ωは100Ωを4本並列。 33Ωは100Ωを3本並列。 スケッチ int ledPin = 13; int sensorAnalogIn = 5; // ANALOG IN int sensorOutPin = 3; // DIGITAL OUT int heaterOutPin = 2; // DIGITAL OUT int count = 0; int val4 = 0; #define REF_VOLTAGE 5.0 //1.1 void setup() { analogReference(DEFAULT); pinMode(ledPin, OUTPUT); pinMode(sensorOutPin, OUTPUT); pinMode(heaterOutPin, OUTPUT); Serial.begin(19200); } void loop() { int val; int i; double volt; double templ; val = 0; // - 0ms. digitalWrite(heaterOutPin, HIGH); digitalWrite(ledPin, HIGH); delay(8); // - 8ms. digitalWrite(heaterOutPin, LOW); digitalWrite(ledPin, LOW); delay(235); // - 245ms. digitalWrite(sensorOutPin, HIGH); if(false){ delay(2); // - 247ms. val += analogRead(sensorAnalogIn); delay(2); // - 249ms. }else{ delay(1); // - 246ms. val += analogRead(sensorAnalogIn); delay(1); // - 247ms. val += analogRead(sensorAnalogIn); delay(1); // - 248ms. val += analogRead(sensorAnalogIn); delay(1); // - 249ms. val += analogRead(sensorAnalogIn); val = val/4; } digitalWrite(sensorOutPin, LOW); delay(1); // - 250ms. val4 += val; if(count%4==3){ volt = REF_VOLTAGE*val4/4/1024.0; Serial.print(count); Serial.print(" "); Serial.print(volt); Serial.println("V."); val4 = 0; } count++; } センサーの消費電力 33Ωを使った状態だと、 通常状態 3.93V ラム(酒)を接近 1.65V 良い感じに反応してる! トランジスタのエミッタの電圧 4.23V で、33Ωとセンサーの変化する抵抗値で何mA流れてて消費電力は? 15mW以下に収まっていればOK。 5V -- 4.23V -- 3.93V -- 0V 33Ω (4.23-3.93)/33=9mA 3.93V*0.009A = 0.035W * センサ抵抗 3.93V/0.009A = 436.6Ω 5V -- 4.23V -- 1.65V -- 0V 33Ω (4.23-1.65)/33=78mA 1.65V*0.078A = 0.128W * センサ抵抗 1.65V/0.078A = 21.15Ω だめじゃん。 5V -- 4.23V -- 2.74V -- 0V 100Ω (4.23-2.74)/100=0.015A 2.74V*0.015A = 0.0411W これでも多い。 Psの最大値15mWって平均値か最大値なのかがわからない。 ヒーターに与える電力を下げてみる? 電圧の変動が小さすぎてA/Dの値が使いにくく、センサー直列の抵抗値を下げていったのだが、 センサーの抵抗値が小さいってことなので抵抗値あがってほしい。 http //oshiete1.goo.ne.jp/qa3834857.html 温度が上がる→抵抗値が下がる ということなので ヒーターに与える電力を下げる→温度が下がる→抵抗値が上がる としてみたら良いかもしれない。 25Ω(100Ω*4本)+10Ω(ヒーター)でいいかな。 5V --- 1.428V --- 0V 25Ω 10Ω 1.428V/10Ω=142mA ちょっと多い 電圧を下げる センサーと直列の抵抗にかける電圧を下げてみたらPsも下がるはず。 可変型高精度ツェナー・シャント・レギュレータ TL431ACZ-AP 10個 100円 これでいいのかしら。2.5Vまでしか下がらないっぽいが。
https://w.atwiki.jp/keiplus/pages/95.html
arduino アルデュイーノと読む。 2003年、イタリアIvreaのInteraction Design Institute Ivrea(IDII)で立ち上がる。 2005年ごろ、プロトタイプ。 2011年に30万人、2013年に70万人が利用するようになった。 その後2017年、ARM社と提携している。 RaspberryPiなどと同様にシングルボードと呼ばれる種類。 RaspberryPiと違う点はOSを必要としないマイコン系であり限りなく電子部品寄り の製品であること。 ライセンスはCreative Commons Attribution Share-Alike 2.5で、オープンソース であり、ハードウェアの設計書がオープンのためどんな企業、個人も作ることが出来る。 Arduinoを買ったらすること 本体のほかに、USB 2.0 Type-Aオス-Bオスケーブルが必要。 ArduinoIDEを公式サイトからダウンロードする。 USBをPC本体側のUSBコネクタをArduinoを結ぶと本体側に給電される。 ここで注意。 上述の通りUSB-A側、つまりパソコンに繋げるコネクタはPC本体に付いているものを 使用すること。決してUSBハブなど中継器や延長ケーブルを介して繋げない事だ。 小生、実はここで相当つまづいた。 ArduinoIDE ArduinoのプログラミングはArduinoIDEを使って行う。 C言語ライクなプログラムを組むことが出来る。 正しくは「Pduino」という言語で、Pure Data、Max/MSPを元に作られている。 違いは物理ポートを操作する関数があることだ。 一番最初に触れるだろうサンプル「Blink」でもpinMode、digitalWriteを利用する。 もちろんCのライブラリに指示を出しているに過ぎないが、最初からあって、 引数2つで物理ハードを動かせるのは感動するかもしれない。 主要なプログラミング 概要 基本式 記述例 備考 基本構成 定数定義変数定義void setup(){}void loop() {} ディレイ delay(); delay(1000); 引数:マイクロ秒 変数 型 変数名 int count 定数 #define #define DEFINE 100 インクルード #include #include avr/library.h コメント // if(cnt == 0){ //コメント プログラム行の末尾に追加可能 条件式 if if(){}else{} switch switch(){} for for(;;){} while while(){} do while do{}while(); break; break; continue; continue; return; return; goto; goto; 関数 pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, HIGH); digitalWrite(LED_BUILTIN, LOW); delay(1000); ポート操作 ポートD方向レジスタ DDRD DDRD = B11111110; ピン1~7を出力, ピン0は入力 ポートDデータレジスタ PORTD PORTD = B10101000; デジタルピン7,5,3をHIGHに ポートD入力レジスタ(読み取り専用) PIND ポートB方向レジスタ DDRB ポートBデータレジスタ PORTB ポートB入力レジスタ(読み取り専用) PINB ポートC方向レジスタ DDRC ポートCデータレジスタ PORTC ポートC入力レジスタ(読み取り専用) PINC
https://w.atwiki.jp/arduino/pages/50.html
シャープ測距モジュール [GP2Y0A21YK] http //akizukidenshi.com/catalog/g/gI-02551/ 10〜80cm http //nekosan0.bake-neko.net/connection_ir_measure.html
https://w.atwiki.jp/arduino/pages/26.html
可変抵抗を読み取る アナログ入力の使い方。 いろんなセンサーを繋ぐための準備。 アナログ電圧を取得 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 int potPin = 5; int ledPin = 13; long count = 0; void setup() { pinMode(ledPin, OUTPUT); Serial.begin(19200); } void loop() { int val = analogRead(potPin); digitalWrite(ledPin, HIGH); delay(val); digitalWrite(ledPin, LOW); delay(val); if(count%10==0){ Serial.print(millis()); Serial.print(" "); Serial.println(val); } count++; }
https://w.atwiki.jp/arduino/pages/47.html
http //www.aki-den.jp/kit_manual/pdf_data/K01_pyruv.pdf (TODO) これを参考にする。 オペアンプの使い方を学ぶ。
https://w.atwiki.jp/rajun/pages/29.html
ArduinoでWebカメラから画像を取り込んじゃうぞ 必要なもの USB Hostインターフェース こちらで販売中($40+$20) いわゆるWebカメラ 最近のなら問題ない 必要な知識 USBビデオクラス
https://w.atwiki.jp/arduino/pages/42.html
http //arduino.cc/en/Reference/Libraries http //www.musashinodenpa.com/arduino/ref/ ./Debounce http //www.arduino.cc/playground/Code/Debounce チャッタリング対策 ./Firmata http //arduino.cc/en/Reference/Firmata 標準ライブラリ。 通信プロトコル。 ./Messenger http //www.arduino.cc/playground/Code/Messenger Firmataよりコンパクトでシンプルな通信ライブラリ。 テキストベースのプロトコル。 ./Metro http //www.arduino.cc/playground/Code/Metro 定期的に実行したい処理を簡単に書ける。 ./NewSoftSerial http //arduiniana.org/libraries/NewSoftSerial/ 割込を使って受信してくれるソフトウエアシリアル通信ライブラリ。